from fastmcp import FastMCP

app = FastMCP()

@app.tool(name="add", description="Add two numbers")
async def add_numbers(a: float, b: float) -> float:
    """Add two numbers together"""
    return a + b

@app.tool(name="subtract", description="Subtract two numbers")
async def subtract_numbers(a: float, b: float) -> float:
    """Subtract b from a"""
    return a - b

@app.tool(name="multiply", description="Multiply two numbers")
async def multiply_numbers(a: float, b: float) -> float:
    """Multiply two numbers together"""
    return a * b

@app.tool(name="divide", description="Divide two numbers")
async def divide_numbers(a: float, b: float) -> float:
    """Divide a by b"""
    if b == 0:
        raise ValueError("Cannot divide by zero")
    return a / b

if __name__ == "__main__":
    app.run()